This disclosure generally relates to communication among linked computers, and more specifically, to access and control of one computer by a remote computer.
Computers, their peripherals, and other information processing devices can be connected to one another by communication channels to form computer networks. The communication channels may be wired links such as electrical cables and optic fibers, or wireless links by radio waves, or a combination of both. Linked computers can communicate with one another to exchange data and share various hardware and software resources over the network.
A computer connects to a network by using a network interface card (“NIC”). Other information processing devices may also use a NIC to communicate with a network. The NIC essentially operates as an agent to provide communication between the computer and the network. Each NIC can have a hardwired identification number known as medium access control (“MAC”) address so that an associated computer can be uniquely identified by other computers in the network.
Computers in a network, e.g., a local network (“LAN”), may have different properties from one another, such as hardware configurations, NIC specifications, and operating systems. Communication protocols can encode the data in a way that different computers can “understand” one another regardless their differences. In addition, different networks within a wide area network (“WAN”) may use different protocols. Hence, additional protocols may be used to allow communication between different networks. For example, the Internet uses TCP/IP protocols as its WAN communication protocols and a computer is assigned with an Internet protocol (IP) address in order to be uniquely identified and recognized over the Internet.
One trend in network computing is to increase the accessibility, manageability, and control of hardware, software, or data in the network by a user from a different location where a link to the network is available. For example, a networked computer may implement instrumentation to allow remote access of its internal system contents (e.g., hardware and software components, static and dynamic data in its memory units) from an authorized computer via the network. As another example, a computer may be booted by first downloading system software from a remote server across a network and then executing the boot routine. This preboot operation can be implemented by using the Preboot Execution Environment (PXE) technology (Wired For Management 2.0, Intel, 1998).